<TagAttribute("lightning","elec","????","????",1,264)>
Public Class LIGHTNING_TAG
Inherits HaloTag
Public Const Extension as String = "lightning"
Public Const FourCC as String = "elec"
Public Const ParentFourCC as String = "????"
Public Const GrandParentFourCC as String = "????"
Public Const [Version] as Short = 1
Public Const HeaderLength as Integer = 264

''' <summary>
''' 
''' </summary>
#Region "lightning"

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding as Byte()

''' <summary>
''' number of overlapping lightning effects to render; 0 defaults to 1
''' </summary>
<TagField("count", 1, 23)>
Public count as Short

''' <summary>
''' 
''' </summary>
<TagField("", 16, -1)>
Public padding_1 as Byte()

''' <summary>
''' distance at which lightning is at full brightness
''' </summary>
<TagField("near fade distance:world units", 1, 0)>
Public near_fade_distance as Single

''' <summary>
''' distance at which lightning is at zero brightness
''' </summary>
<TagField("far fade distance:world units", 1, 0)>
Public far_fade_distance as Single

''' <summary>
''' 
''' </summary>
<TagField("", 16, -1)>
Public padding_2 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("jitter scale source", 1, 17)>
Public jitter_scale_source as Short

''' <summary>
''' 
''' </summary>
<TagField("thickness scale source", 1, 17)>
Public thickness_scale_source as Short

''' <summary>
''' 
''' </summary>
<TagField("tint modulation source", 1, 17)>
Public tint_modulation_source as Short

''' <summary>
''' 
''' </summary>
<TagField("brightness scale source", 1, 17)>
Public brightness_scale_source as Short

''' <summary>
''' 
''' </summary>
<TagField("bitmap", 16, 10)>
Public bitmap as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 84, -1)>
Public padding_3 as Byte()

''' <summary>
''' lightning_marker_block
''' </summary>
<TagField("markers", 228, 11)>
Public markers as List(Of MARKERS_BLOCK)

''' <summary>
''' lightning_shader_block
''' </summary>
<TagField("shader", 180, 11)>
Public shader as List(Of SHADER_BLOCK)

''' <summary>
''' 
''' </summary>
<TagField("", 88, -1)>
Public padding_4 as Byte()
#End Region
Public Class MARKERS_BLOCK

''' <summary>
''' 
''' </summary>
<TagField("attachment marker", 32, 8)>
Public attachment_marker as String

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding as Byte()

''' <summary>
''' 
''' </summary>
<TagField("octaves to next marker", 1, 23)>
Public octaves_to_next_marker as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_1 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 76, -1)>
Public padding_2 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("random position bounds:world units", 3, 2)>
Public random_position_bounds as Single()

''' <summary>
''' 
''' </summary>
<TagField("random jitter:world units", 1, 0)>
Public random_jitter as Single

''' <summary>
''' 
''' </summary>
<TagField("thickness:world units", 1, 0)>
Public thickness as Single

''' <summary>
''' alpha is brightness
''' </summary>
<TagField("tint", 4, 3)>
Public tint as Single()

''' <summary>
''' 
''' </summary>
<TagField("", 76, -1)>
Public padding_3 as Byte()

End Class
Public Class SHADER_BLOCK

''' <summary>
''' 
''' </summary>
<TagField("", 40, -1)>
Public padding as Byte()

''' <summary>
''' 
''' </summary>
<TagField("shader flags", 1, 19)>
Public shader_flags as Short

''' <summary>
''' 
''' </summary>
<TagField("framebuffer blend function", 1, 17)>
Public framebuffer_blend_function as Short

''' <summary>
''' 
''' </summary>
<TagField("framebuffer fade mode", 1, 17)>
Public framebuffer_fade_mode as Short

''' <summary>
''' 
''' </summary>
<TagField("map flags", 1, 19)>
Public map_flags as Short

''' <summary>
''' 
''' </summary>
<TagField("", 28, -1)>
Public padding_1 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 16, -1)>
Public padding_2 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_3 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_4 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 56, -1)>
Public padding_5 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 28, -1)>
Public padding_6 as Byte()

End Class

End Class
